Pianobar is a free/open source unofficial Pandora radio client. Pandora Internet Radio (Pandora) is a music streaming service operated by Music Genome Project. A Pandora station is set based on song or artist. The user’s can give feedback for the songs. According to these feedbacks, the Pandora will select the future songs. It offers to buy the songs from online retailers. The Pandora service has two subscription such as free based subscription supported ads and free based subscription without supported ads. There are advertisements in between every couple of songs. It has favorable and unfavorable buttons. The track is played according to this result. The play of track will immediately stop when an unfavorable response occurs. Continuous clicks to next songs will result into a short ban of skip. Pandora  allows to temporarily block the song, move to next station, and buy song from stores etc. Pandora is available on iOS, Android OS.

Pianobar is an open source command line application. It is easy to set up with a proxy. Pianobar helps to listen Pandora from anywhere in the world. It will remove the advertisements from Pandora. It is has a flash-free Pandora Player inside the terminal. Open it and login with username and password. Then select the station you want to listen. Also. it is possible to create new station, view song history, etc. by using simple terminal commandsin Pianobar. 

Features of Pianobar

  • Play and manage stations. It can create, add more music, delete etc.
  • It can rate a song and explain the reason for selecting the song.
  • It gives history of songs.
  • Customize keybindings and text output.
  • Proxy supports to listen anywhere in world outside USA/Australia/Newzealand.

Materials Required for Pianobar

                                                                Materials Required For Pianobar

                                                                                                             Materials Required For Pianobar

Procedure to set up a Pianobar Raspberry-Pi Radio

Step:-1

The OS image is downloaded from the website and installed into the SD card. There are different types of OS versions for Raspberry Pi. Raspbian “Wheezy” is one of them. After installing into the SD card, it is plug into the SD card reader of Raspberry Pi. The power of the device must be turned ON. Alll the devices must be plugged in before turn on the power such as keyboard, Wi-Fi adapter etc.

Step 2:-

Raspbian configuration will be displayed for the first boot. The OS image is resized to fill the SD card.  Then the complete space of SD card will be usable. The time zone can be changed. The SSH server must be enabled. It enables to control the pianobar using laptop or mobile devices using SSH. Turn off boot to desktop. Do not restart or update the Raspberry Pi at this time. The configuration setup can do at any time using the following command.

sudo raspi-config

Step 3:-

Using the following command, it is possible to navigate the network interfaces.

>> sudo nano -w /etc/network/interfaces

All the text must be erased and change into following commands.

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0 
auto wlan0iface wlan0 inet dhcp
wpa-ssid "ssid"
wpa-psk "password"

The wpa-ssid value is changed into name of wireless network. The wpa-psk value is changed into personal wireless network. It must be inside double quotes.

Step 4:-

Shutdown the Raspberry Pi.

>> sudo shutdown -h now

Step 5:-

Unplug the power supply. After 30 seconds powercord is plugged back to the system.
 

Step 6:-

Get an IP address to Raspberry Pi by using following commands.

ifconfig

Step 7:-

Upgrade the system using following command.

sudo apt-get update

Step 8:- Installation

Pianobar is installed in Ubuntu etc using the following command.

sudo apt-get install pianobar

If want to continue, y for yes and hit enter. After install, the installer will run automatically. After installation the next step is configuration.

Step9:-

To configure, a “config” directory can be created for pianobar by using following command.

mkdir -p .config/pianobar

It can be navigated into new directory.

cd ~/.config/pianobar

Create configuration file for Pianobar which is located at $XDG_CONFIG_HOME/pianobar/config or ~/.config/pianobar/config

$ man pianobar

Configuration consists of key, value lines. Each line terminated with newline character (\n). The keys and values are case sensitive. Each side of equal line, provide exactly one space. To login automatically and select station which can setup in configuration file. An example for configuration file for pianobar is given follows.

$ ~/.config/pianobar/config

Audio = {high,medium,low}
Autostart_station = stationid
password= password
user = your@user.name
Proxy (which is used outside USA)
control_proxy = http://127.0.0.1:9090/
Keybindings

act_help = ?
act_songlove = +
act_songban = -
act_stationaddmusic = a
act_stationcreate = c
act_stationdelete = d
act_songexplain = e
act_stationaddbygenre = g
act_songinfo = i
act_addshared = j
act_songmove = m
act_songnext = n
act_songpause = p
act_quit = q
act_stationrename = r
act_stationchange = s
act_songtired = t
act_upcoming = u
act_stationselectquickmix = x
act_voldown = (act_volup =)
Misc

mp3, mp3-hifi or aacplus
audio_format = mp3
autostart_station = 123456
event_command = /home/user/.config/pianobar/eventcmd
fifo = /tmp/pianobar
sort = quickmix_10_name_az
love_icon = [+]
ban_icon = [-]
volume = 0
Format strings


format_nowplaying_song = %t by %a on %l%r%@%s 
format_nowplaying_station = Station %n 
format_list_song = %i) %a - %t%r


high-quality audio (192k mp3, for Pandora One subscribers only!) 
audio_quality = high 
rpc_host = internal-tuner.pandora.com 
partner_user = pandora one 
partner_password = TVCKIBGS9AO9TSYLNNFUML0743LH82D 
device = D01 
encrypt_password = 2%3WCL*JU$MP]4 
decrypt_password = U#IO$RZPAB%VX2 
tls_fingerprint = B0A1EB460B1B6F33A1B6CB500C6523CB2E6EC946


After configuration settings, restart the pianobar from terminal. Then automatically log into Pandora and select the station to play. An 18 letter number will appear in paranthesis. This number is copied to configuration file under autostart station. Then the pianonar will automatically play the selected station. To increase the volume click shift+0 and to decrease the volume, click shift+9.

Step: - 10

An SSH is download to the devices to remotely control the pianobar. It is used to connect several devices and also can preconfigure settings for connected quickly.

Step: - 11

To control the keyboard, use the following commands.

act_help =?
act_songlove = +                  
act_songban = -
act_stationaddmusic = a
act_bookmark = b
act_stationcreate = c
act_stationdelete = d
act_songexplain = e
act_stationaddbygenre = g
act_history = h
act_songinfo = i
act_addshared = j
act_songmove = m
act_songnext = n
act_songpause = p
act_quit = q
act_stationrename = r
act_stationchange = s
act_songtired = t
act_upcoming = u
act_stationselectquickmix = x
audio_format = {aacplus, mp3,mp3-hifi}
autostart_station = stationid
control_proxy = http://host:port/
event_command = path
history = 5
password = plaintext_password
proxy = http://host:port/
sort  =  {name_az,  name_za,  quickmix_01_name_az, quickmix_01_name_za,
quickmix_10_name_az, quickmix_10_name_za}
user = your@user.name
sort  =  {name_az,  name_za,  quickmix_01_name_az, quickmix_01_name_za,
quickmix_10_name_az, quickmix_10_name_za}
user = your@user.name

Troubleshooting

While running any sound or quality issue occurs and currently using ALSA (Advanced Sound Linux Architecture) as sound driver, then it can be fixed using following methods. ALSA provides driven sound card drivers which replaces original Open Sound System (OSS).

Step 1:- Install alsa-oss. Default driver changed from alsa to oss.

# /etc/libao.conf

default_driver=oss

Step2:- Run Pianobar

$ aoss pianobar

It is possible to use pulse audio alternatively.

# /etc/libao.conf

default_driver=pulse

These fixes may affect other application which use audio as default driver is changed.
Related Items